package cn.com.nes.site.service.crm.customer;

import cn.com.nes.mybatis.agent.ope.entity.CustomerArchive;
import cn.com.nes.site.entity.PageData;
import cn.com.nes.site.entity.iot.CustomerSurveyExcel;
import cn.com.nes.site.entity.vo.crm.archive.GetCustomerArchiveDetailVO;
import cn.com.nes.site.entity.vo.crm.archive.SaveCustomerArchiveVO;
import cn.com.nes.site.entity.vo.project.ImportGovernmentalCustomerArchiveVO;
import com.baomidou.mybatisplus.extension.service.IService;

/**
 * 客户档案业务逻辑层接口
 */
public interface CustomerArchiveService extends IService<CustomerArchive> {

    PageData saveCustomerArchive(SaveCustomerArchiveVO vo) throws Exception;


    /**
     * 查询客户档案详情
     * @param vo            // 基本参数，通过客户id查询客户档案
     * @param getDetailType // 查询类型，是否查询客户的工单信息，如果是安装工单端查询客户档案就不用查询工单信息了
     * @return
     */
    PageData getCustomerArchiveDetail(GetCustomerArchiveDetailVO vo, Integer getDetailType) throws Exception;


    /**
     * 处理政府项目导入的客户信息
     */
    void saveImportInfo(ImportGovernmentalCustomerArchiveVO vo, CustomerSurveyExcel item) throws Exception;


    void updateImportInfo(ImportGovernmentalCustomerArchiveVO vo, CustomerSurveyExcel item) throws Exception;


    Integer getArchiveCountByCustomerId(String masterCustomerId);

}
